<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Railway Operation Simulator: IDInt Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="railway-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Railway Operation Simulator
   &#160;<span id="projectnumber">v2.23.2</span>
   </div>
   <div id="projectbrief">A railway simulator for Windows</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_i_d_int.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="class_i_d_int-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">IDInt Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for IDInt:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_i_d_int__coll__graph.svg" width="116" height="147"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3c40e609e12caab2063aa7f3ff8b8ea7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#a3c40e609e12caab2063aa7f3ff8b8ea7">GetInt</a> () const</td></tr>
<tr class="memdesc:a3c40e609e12caab2063aa7f3ff8b8ea7"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the internal integer  <a href="class_i_d_int.html#a3c40e609e12caab2063aa7f3ff8b8ea7">More...</a><br /></td></tr>
<tr class="separator:a3c40e609e12caab2063aa7f3ff8b8ea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae083414184db298f8abbfbe791db82de"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#ae083414184db298f8abbfbe791db82de">operator==</a> (<a class="el" href="class_i_d_int.html">IDInt</a> Comparator)</td></tr>
<tr class="memdesc:ae083414184db298f8abbfbe791db82de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality comparator.  <a href="class_i_d_int.html#ae083414184db298f8abbfbe791db82de">More...</a><br /></td></tr>
<tr class="separator:ae083414184db298f8abbfbe791db82de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae309faa19a8c2f2a6f5e16c7cd64f184"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#ae309faa19a8c2f2a6f5e16c7cd64f184">operator&gt;</a> (int Comparator)</td></tr>
<tr class="memdesc:ae309faa19a8c2f2a6f5e16c7cd64f184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Greater than comparator.  <a href="class_i_d_int.html#ae309faa19a8c2f2a6f5e16c7cd64f184">More...</a><br /></td></tr>
<tr class="separator:ae309faa19a8c2f2a6f5e16c7cd64f184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51fdc864457738e484bb91c829b082c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#ae51fdc864457738e484bb91c829b082c">IDInt</a> (int Int)</td></tr>
<tr class="memdesc:ae51fdc864457738e484bb91c829b082c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that sets the internal integer to the input value. The 'explicit' prefix is used to force a compiler error if the input value is an <a class="el" href="class_i_d_int.html">IDInt</a>, which would be a program error (otherwise it would be implicitly converted to an int)  <a href="class_i_d_int.html#ae51fdc864457738e484bb91c829b082c">More...</a><br /></td></tr>
<tr class="separator:ae51fdc864457738e484bb91c829b082c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0583f8509efd2cff2fa60b52e7b5cea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#ae0583f8509efd2cff2fa60b52e7b5cea">IDInt</a> ()</td></tr>
<tr class="memdesc:ae0583f8509efd2cff2fa60b52e7b5cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor, internal integer set to -1.  <a href="class_i_d_int.html#ae0583f8509efd2cff2fa60b52e7b5cea">More...</a><br /></td></tr>
<tr class="separator:ae0583f8509efd2cff2fa60b52e7b5cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:af9b9224cae0ea5f7ce15c83e6b94d00a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_d_int.html#af9b9224cae0ea5f7ce15c83e6b94d00a">InternalInt</a></td></tr>
<tr class="memdesc:af9b9224cae0ea5f7ce15c83e6b94d00a"><td class="mdescLeft">&#160;</td><td class="mdescRight">the internal integer value represented by <a class="el" href="class_i_d_int.html">IDInt</a>  <a href="class_i_d_int.html#af9b9224cae0ea5f7ce15c83e6b94d00a">More...</a><br /></td></tr>
<tr class="separator:af9b9224cae0ea5f7ce15c83e6b94d00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Identification Number:</p>
<p>This was introduced when it was decided to have a route identification number for each route rather than using the vector position number for identifying existing routes that were being extended during route building. Using vector position numbers meant that these identification numbers had to be changed when existing routes were erased by trains passing over them. <a class="el" href="class_i_d_int.html">IDInt</a> is used for StartSelectionRouteID and ReqPosRouteID (see <a class="el" href="class_t_all_routes.html" title="Handles data and functions relating to all routes on the railway.">TAllRoutes</a>) and ensures that any confusion with the old vector position numbers is picked up by the compiler. Note that the route's RouteID value is an 'int', not an '<a class="el" href="class_i_d_int.html">IDInt</a>', '<a class="el" href="class_i_d_int.html">IDInt</a>' is only used for StartSelectionRouteID and ReqPosRouteID </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00499">499</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae51fdc864457738e484bb91c829b082c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae51fdc864457738e484bb91c829b082c">&#9670;&nbsp;</a></span>IDInt() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IDInt::IDInt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Int</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor that sets the internal integer to the input value. The 'explicit' prefix is used to force a compiler error if the input value is an <a class="el" href="class_i_d_int.html">IDInt</a>, which would be a program error (otherwise it would be implicitly converted to an int) </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00527">527</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="ae0583f8509efd2cff2fa60b52e7b5cea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0583f8509efd2cff2fa60b52e7b5cea">&#9670;&nbsp;</a></span>IDInt() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IDInt::IDInt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor, internal integer set to -1. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00533">533</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3c40e609e12caab2063aa7f3ff8b8ea7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c40e609e12caab2063aa7f3ff8b8ea7">&#9670;&nbsp;</a></span>GetInt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int IDInt::GetInt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get the internal integer </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00509">509</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="class_i_d_int_a3c40e609e12caab2063aa7f3ff8b8ea7_icgraph.svg" width="100%" height="598"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>

</div>
</div>
<a id="ae083414184db298f8abbfbe791db82de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae083414184db298f8abbfbe791db82de">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool IDInt::operator== </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_i_d_int.html">IDInt</a>&#160;</td>
          <td class="paramname"><em>Comparator</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equality comparator. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00515">515</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<a id="ae309faa19a8c2f2a6f5e16c7cd64f184"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae309faa19a8c2f2a6f5e16c7cd64f184">&#9670;&nbsp;</a></span>operator&gt;()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool IDInt::operator&gt; </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Comparator</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Greater than comparator. </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00521">521</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="af9b9224cae0ea5f7ce15c83e6b94d00a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9b9224cae0ea5f7ce15c83e6b94d00a">&#9670;&nbsp;</a></span>InternalInt</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int IDInt::InternalInt</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the internal integer value represented by <a class="el" href="class_i_d_int.html">IDInt</a> </p>

<p class="definition">Definition at line <a class="el" href="_track_unit_8h_source.html#l00502">502</a> of file <a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_track_unit_8h_source.html">TrackUnit.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_i_d_int.html">IDInt</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
  </ul>
</div>
</body>
</html>
